package poc.scc.web.controllers;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import poc.scc.core.Municipio;
import poc.scc.core.Uf;
import poc.scc.dao.hibernate.MunicipioDao;
import poc.scc.dao.hibernate.UfDao;

@Controller
@RequestMapping(value="municipio")
public class MunicipioController {
	
	@Autowired
	private MunicipioDao dao; 
	
	@Autowired
	private UfDao ufDao;

	@RequestMapping(value="new")
	public String newMunicipio(Model model){
		Municipio municipio = new Municipio();
		List<Uf> ufs = ufDao.findAll();
		
		model.addAttribute("ufList", ufs);
		model.addAttribute("newMunicipio", municipio);
		
		model.addAttribute("messages", "Cadastre um novo município");
		return "/municipio/new";
	}
	
	@RequestMapping(value="/create", method=RequestMethod.POST)
	public String create(@ModelAttribute("newMunicipio") Municipio municipio, Model model){
		System.out.println(municipio);
		Uf uf = ufDao.merge(municipio.getUf());
		municipio.setUf(uf);
		dao.create(municipio);
		
		model.addAttribute("messages", "Município criado com sucesso");
		return "/municipio/new";
		
	}

}
